Page({
  data: {
    billId: '',
    billInfo: null,
    // 发票类型
    invoiceTypes: [
      { id: 'personal', name: '个人/非企业' },
      { id: 'company', name: '企业单位' }
    ],
    selectedType: 'personal',
    // 发票抬头信息
    invoiceInfo: {
      title: '',
      taxNumber: '',
      email: ''
    }
  },

  onLoad(options) {
    const { billId } = options
    this.setData({ billId })
    this.getBillDetail()
  },

  // 获取账单详情
  getBillDetail() {
    // TODO: 调用账单API
    this.setData({
      billInfo: {
        id: this.data.billId,
        month: '2024-03',
        total: 3041
      }
    })
  },

  // 选择发票类型
  onSelectType(e) {
    const { type } = e.currentTarget.dataset
    this.setData({ 
      selectedType: type,
      // 切换类型时清空表单
      invoiceInfo: {
        title: '',
        taxNumber: '',
        email: ''
      }
    })
  },

  // 输入发票抬头
  onTitleInput(e) {
    this.setData({
      'invoiceInfo.title': e.detail.value
    })
  },

  // 输入税号
  onTaxNumberInput(e) {
    this.setData({
      'invoiceInfo.taxNumber': e.detail.value
    })
  },

  // 输入邮箱
  onEmailInput(e) {
    this.setData({
      'invoiceInfo.email': e.detail.value
    })
  },

  // 提交申请
  onSubmit() {
    const { invoiceInfo, selectedType } = this.data
    
    if (!invoiceInfo.title) {
      wx.showToast({
        title: '请输入发票抬头',
        icon: 'none'
      })
      return
    }
    
    if (selectedType === 'company' && !invoiceInfo.taxNumber) {
      wx.showToast({
        title: '请输入税号',
        icon: 'none'
      })
      return
    }
    
    if (!invoiceInfo.email) {
      wx.showToast({
        title: '请输入接收邮箱',
        icon: 'none'
      })
      return
    }

    // TODO: 调用开票API
    wx.showLoading({
      title: '提交中'
    })
    setTimeout(() => {
      wx.hideLoading()
      wx.showToast({
        title: '申请成功',
        icon: 'success',
        duration: 2000,
        success: () => {
          setTimeout(() => {
            wx.navigateBack()
          }, 2000)
        }
      })
    }, 1500)
  }
}) 